1、数据库审计连接问题排查方式:
问题解答:
(1)请检查当前数据库访问方案使用的是哪个数据库代理;
- 数据库代理:默认中转服务器(默认就是行云管家门户服务器)
- 数据库代理:Proxy 宿主机
(2)检查代理机是否开放的代理映射端口(默认从 8300 开始),可以通过当前电脑/客户端在 cmd 里 telnet 代理机 IP 映射端口(例如 8300)来看是否能连通;
(3)请检查数据库所在主机是否开放了数据库的端口,代理机是否能连通目标数据库 IP 及端口;
(4)请检查数据库是否允许代理机进行远程连接;
(5)请检查该局域网里是否设置了安全组网络限制;
(6)如果通过上述方式还无法解决问题,请把代理机日志发送给行云管家客服;
-
Proxy 日志(Linux)路径:/usr/local/cloudbility/CloudGateway/logs
-
Proxy 日志(Windows)路径:C:\Program Files (x86)\Cloudbility\CloudGateway\logs
-
门户中转日志路径:/opt/cloudbility/logs/cloudTransit.log
2、MySQL 授权代理使用此账户访问目标数据库命令
问题解答:
数据库访问方案创建成功,请在您的目标数据库中以“管理员身份”按步骤执行以下命令来授权:
(1)命令 1:grant all privileges on . to username@'DBProxy_IP' identified by 'password';
-
a)命令中的 username 和 password 请替换成您在第一步输入的 数据库账户 与 密码;
-
b)命令中的 DBProxy_IP 请替换成您指定数据库代理的一个 IP;
(2)命令 2:FLUSH PRIVILEGES;
3、grant all privileges on . to root@'IP' identified by "password";这里的 password 填的是主机密码还是 MySQL 密码?
问题解答:
这里填写的是 MySQL 数据库的密码,在 MySQL 数据库里执行步骤 1 和 2 即可;
4、新增数据库实例时:阿里云 RDS 不支持创建 root 用户,也不支持.数据库
问题解答:
这里赋予跳板机远程访问数据库的权限是一个示例,并非强制 root 和所有权限。您可以按照具体情形来处理。比如:授予需要登录的用户某个库的权限就可以了;
11、连接 SqlServer 时提示:无法连接到 IP 端口
问题解答:
(1)请检查代理机是否开放数据库所映射的端口,当前客户端能否连通代理机的 IP 及映射端口;
(代理机指的是 Proxy 宿主机/门户服务器,具体请参照您用的哪种代理方式)
(2)请检查数据库所在主机是否开放了数据库的端口,代理机是否能连通目标数据库 IP 端口;
(3)请检查该局域网里是否设置了安全组网络限制;
12、数据库闲置超时时长设置方式
如果您是高于 4.19 版本,请直接在管理控制台里进行设置,如果您是低于 4.19 版本,请参考下述方式设置;
行云管家数据库连接是有超时机制的,后台有个调度每十分钟去检查活跃的数据库会话,如果会话十分钟都没有 sql 操作会关闭当前会话,可以参考如下方式来修改闲置时长;
问题解答:
(1)登录行云管家管理控制台:一般访问网址为 ip/console
(2)把访问网址改为如图:ip/console/index.html#/systemconfig
(3)进入到如图页面后,点击“添加配置项”;
(4)如图输入配置项 key: db.session_idle_time
(5)如图输入配置项 value:该值为数据库会话闲置时间,单位为分钟,如图这里输入的是 120 分钟;
13、应用宿主机无法直连数据库报 10054 错误
问题解答:
这是因为目标数据库版本(操作系统)等 TLS、SSL 版本太低,因为安全原因,在应用宿主机的安全策略里不支持去连接太低版本的 TLS、SSL;
请修改应用宿主机的注册表以及本地组策略,如图,在“注册表编辑器”计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
里把SSL2.0、TLS1.0、TLS 1.1、TLS1.2
下的Client
这里的"DisabledByDefault"数据改为 0、"Enabled"改为 1;
在“本地组策略编辑器”里把计算机配置\管理模板\网络\SSL配置设置
里的"SSL 密码套件顺序"改为已禁用;
14、waiting for initial communication packet
2013-Lost connection to MySQL server at 'waiting for initial communication packet',system error:0"Internal error/check(Not system error)"
问题解答:
请开放对应 Proxy 代理的数据库映射端口,可以通过个人电脑 telnet ProxyIP 映射端口来查看端口是否能通;
15、1152 - query access info error for 访问串账号:not exsits
问题解答:
如图,可以看到左边栏这里还有之前的访问串未完全关闭,请把左边栏里已有的访问串删除掉,然后重新再访问这个数据库连接。或者可以把所有数据库相关活跃会话全部关闭后再尝试连接;